package org.smr.ministore.entities;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import org.blade.entities.base.BizEntity;
import org.smr.ministore.entities.vo.Assign2OrgansVO;
import org.smr.ministore.entities.vo.GoodsVO;

/**
 * GoodsOrgan实体,对应表：t_goods_organ
**/
public class GoodsOrgan extends  BizEntity<Long> implements SetGoodsIdFunction{

	/**
	* 商品编号
	**/
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
	private Long goodsId;

	/**
	 * 设置商品编号的值
	 * @param goodsId
	**/
	public void  setGoodsId(Long goodsId){
		this.goodsId = goodsId;
	}
	/**
	 * 获取商品编号的值
	**/
	public  Long getGoodsId(){
		return this.goodsId;
	}




	/**
	* 组织编号
	**/
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
	private Long organId;

	/**
	 * 设置组织编号的值
	 * @param organId
	**/
	public void  setOrganId(Long organId){
		this.organId = organId;
	}
	/**
	 * 获取组织编号的值
	**/
	public  Long getOrganId(){
		return this.organId;
	}






	/**
	* 组织路径
	**/
	private String organPath;

	/**
	 * 设置组织路径的值
	 * @param organPath
	**/
	public void  setOrganPath(String organPath){
		this.organPath = organPath;
	}
	/**
	 * 获取组织路径的值
	**/
	public  String getOrganPath(){
		return this.organPath;
	}


	/**
	 * 商品信息
	 */
	private Goods goods;

    /**
     * 获取商品
     * @return goods
     */
    public Goods getGoods() {
        return goods;
    }

    /**
     * 设置商品
     * @param goods
     */
    public void setGoods(Goods goods) {
        this.goods = goods;
    }

    /**
	* 生成日期
	**/
	private java.util.Date createDate;

	/**
	 * 设置生成日期的值
	 * @param createDate
	**/
	public void  setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 * 获取生成日期的值
	**/
	public  java.util.Date getCreateDate(){
		return this.createDate;
	}




    /**
    * 生成日期 查询时间开始
    **/
    private java.util.Date createDateStart;

    /**
    * 生成日期 查询时间结束
    **/
    private java.util.Date createDateEnd;


    /**
    * 设置生成日期Start的值
    * @param createDateStart
    **/
    public void  setCreateDateStart(java.util.Date createDateStart){
    this.createDateStart = createDateStart;
    }
    /**
    * 获取生成日期Start的值
    **/
    public  java.util.Date getCreateDateStart(){
    return this.createDateStart;
    }

    /**
    * 设置生成日期End的值
    * @param createDateEnd
    **/
    public void  setCreateDateEnd(java.util.Date createDateEnd){
    this.createDateEnd = createDateStart;
    }
    /**
    * 获取生成日期End的值
    **/
    public  java.util.Date getCreateDateEnd(){
    return this.createDateEnd;
    }




	/**
	* 生成者
	**/
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
	private Long createBy;

	/**
	 * 设置生成者的值
	 * @param createBy
	**/
	public void  setCreateBy(Long createBy){
		this.createBy = createBy;
	}
	/**
	 * 获取生成者的值
	**/
	public  Long getCreateBy(){
		return this.createBy;
	}






	/**
	* 是否删除
	**/
	private boolean isDeleted;

	/**
	 * 设置是否删除的值
	 * @param isDeleted
	**/
	public void setIsDeleted(boolean isDeleted){
		this.isDeleted = isDeleted;
	}
	/**
	 * 获取是否删除的值
	**/
	public boolean getIsDeleted(){
		return this.isDeleted;
	}






	/**
	* 更新者
	**/
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
	private Long updateBy;

	/**
	 * 设置更新者的值
	 * @param updateBy
	**/
	public void  setUpdateBy(Long updateBy){
		this.updateBy = updateBy;
	}
	/**
	 * 获取更新者的值
	**/
	public  Long getUpdateBy(){
		return this.updateBy;
	}






	/**
	* 更新日期
	**/
	private java.util.Date updateDate;

	/**
	 * 设置更新日期的值
	 * @param updateDate
	**/
	public void  setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	/**
	 * 获取更新日期的值
	**/
	public  java.util.Date getUpdateDate(){
		return this.updateDate;
	}




    /**
    * 更新日期 查询时间开始
    **/
    private java.util.Date updateDateStart;

    /**
    * 更新日期 查询时间结束
    **/
    private java.util.Date updateDateEnd;


    /**
    * 设置更新日期Start的值
    * @param updateDateStart
    **/
    public void  setUpdateDateStart(java.util.Date updateDateStart){
    this.updateDateStart = updateDateStart;
    }
    /**
    * 获取更新日期Start的值
    **/
    public  java.util.Date getUpdateDateStart(){
    return this.updateDateStart;
    }

    /**
    * 设置更新日期End的值
    * @param updateDateEnd
    **/
    public void  setUpdateDateEnd(java.util.Date updateDateEnd){
    this.updateDateEnd = updateDateStart;
    }
    /**
    * 获取更新日期End的值
    **/
    public  java.util.Date getUpdateDateEnd(){
    return this.updateDateEnd;
    }


	/**
	* 备注
	**/
	private String remark;

	/**
	 * 设置备注的值
	 * @param remark
	**/
	public void  setRemark(String remark){
		this.remark = remark;
	}
	/**
	 * 获取备注的值
	**/
	public  String getRemark(){
		return this.remark;
	}

	/**
	 * 获取查询商品组织关系查询条件
	 *
	 * @param assignee
	 * @return
	 */
	public GoodsVO queryAssignee(Assign2OrgansVO assignee){
		GoodsVO goodsVO = new GoodsVO();
		goodsVO.setId(assignee.getId());
		goodsVO.setOrganId(assignee.getOrganId());
		goodsVO.setOrganPath(assignee.getOrganPath());
		return goodsVO;
	}

}